An example communication system is the Universal Mobile Telecommunications System (UMTS) described in the 3GPP specification as well as other communications systems. A simplified, example architecture for a UMTS system is illustrated in FIG. 1 and includes a user equipment (UE) 12 which communicates over an air/radio interface Uu with a radio access network (RAN) 14 sometimes referred to as a UMTS Terrestrial Radio Access Network (UTRAN). The RAN 14 communicates with one or more core networks 16. In FIG. 1, a circuit-switched core network 18 and a packet-switched core network 20 both communicate with the RAN 14 over respective Iu-PS interfaces.
A more detailed illustration of a UTRAN 22 is shown in FIG. 2. The UTRAN 22 includes one or more radio network systems (RNS) 24. Each RNS 24 includes one or more radio network controllers (RNC) 26. RNCs communicate over an Iur interface. Each RNC is coupled to one or more base stations, each of which is referred to in the UTRAN as a node B 28. The RNC and each node B communicate over an interface Iub. Each node B conducts radio communications via one or more cells with various UEs. In FIG. 2, each node B 28 is shown with three cells C1–C3.
FIG. 3 shows the UTRAN radio protocol architecture with more detailed information regarding the same available in the 3GPP TS25.301 (the disclosure of which is incorporated herein by reference). The protocol architecture is divided into five layers including an application layer, a transport layer, a radio resource control (RRC) layer, a link layer, and a physical layer. The left side of the protocol stack from the RRC layer and below represents the control plane where control signaling is conducted. The right side of the protocol stack represents the user plane where user traffic is communicated. Information is communicated through the UTRAN using logical channels referred to as radio bearers. On the control plane, the radio bearers are called signal radio bearers and may include, for example, signaling radio bearers 0–4. In the user plane, other radio bearers such as radio bearers 5–31 are used to carry user traffic. These bearers are then transported on physical transport channels over the physical layer/radio interface. More details regarding the radio access bearer service provided by the UTRAN may be found in 3GPP TS 23.107 (the disclosure of which is incorporated herein by reference).
While details are provided regarding the UTRAN, other radio access networks exist. One example is the GSM/EDGE radio access network (GERAN) that evolved from GSM to the enhanced data rates for GSM evolution (EDGE). Although the present invention is particularly applicable to the UTRAN, it may be applied in any RAN.
Security functions in a communication system provide some sort of confidentiality and/or authentication for a communication. In UMTS, an example confidentiality security function is ciphering or encryption of user data, and an example authentication security function is integrity protection of control signaling. Control signaling sent between a UE/mobile radio station and the radio network is considered sensitive information whose integrity must be protected. In regard to control signaling integrity protection, reference is made to the 3GPP specification TS 33.102 (the disclosure of which is incorporated herein by reference), and in particular, to section 6.5 that relates to access link integrity.
Ciphering/encrypting may be performed for user traffic. Ciphering is performed in the user plane either at the radio link control (RLC) sublayer of the link layer, i.e., if the RLC mode is acknowledged or unacknowledged, or in the media access control (MAC) sublayer, i.e., if the mode is RLC transparent mode. Integrity protection/authentication of control signaling is performed in the control plane at the RRC layer. When a connection (which can be viewed as a sort of logical channel) is to be established with a user equipment through the UTRAN, a security mode setup procedure is performed to protect the integrity of control signaling messages sent between the UE and the UTRAN. Examples of control signaling messages include paging messages, handover messages, RRC connection request, setup, and release messages, system broadcast information messages, etc.
Different algorithms may be used to cipher/encrypt user data and to protect the integrity of control signaling. A ciphering algorithm may generate a ciphering key (CK). One example of such a ciphering algorithm is an “f8” algorithm described in 3GPP TS 33.102. Similarly, an integrity/authentication protection algorithm may generate an integrity protection key (IK). One example of such an integrity protection algorithm is an “f9” algorithm described in 3GPP TS 33.102. The pair of “keys” generated by ciphering and integrity protection algorithms is sometimes referred to as a “key set.” Recall from FIG. 1 that the UTRAN may be coupled to different core networks such as a circuit-switched network and a packet-switched network. A key pair for a circuit-switched domain may be denoted, (CKcs, IKcs), and for the packet-switched domain, (CKps, IKps).
When a UE initiates a session (e.g., a multimedia session), a Radio Resource Control (RRC) layer 3 connection is established within the UTRAN. Part of that connection setup includes an authentication procedure where a security configuration is established for a specific core network domain. The security configuration for a core network domain may be broken down into two parts. A first part of the security configuration is from the core network to the UTRAN using an RANAP Security Mode Command message, (see 3GPP TS 25.413, the disclosure of which is incorporated herein by reference). A second part is from the UTRAN to the UE using an RRC Security Mode Command (see 3GPP TS 25.331, the disclosure of which is incorporated herein by reference).
An example procedure for establishing a security configuration between the UTRAN and UE is illustrated in FIG. 4. Initially, the mobile station/user equipment establishes an RRC connection with a serving-RNC (SRNC) in the UTRAN. This connection is initiated for a particular core network domain. For example, the connection might support a web browser application running on the UE, and therefore, the connection would be a packet-switched core network. During the RRC connection establishment, parameter values necessary to establish an initial security configuration for the connection are transferred between the UE and the SRNC along with the UE's security capabilities. The SRNC stores the security configuration values and the UE security capabilities.
The UE sends an initial protocol layer 3 (L3) message including its user identity, (e.g., IMSI), to initiate a connection set-up using a visiting location register (VLR) for a circuit-switched connection or a serving GPRS support node (SGSN) for a packet-switched domain-type connection. Authentication and key generation procedures are performed between the VLR/SGSN and the UE where an integrity and ciphering key pair is generated for the connection and stored by the UE. The VLR/SGSN also decides which integrity and ciphering algorithms may be employed: UIA stands for UMTS integrity algorithm and UEA stands for UMTS encryption algorithm. The VLR/SGSN sends a Security Mode Command to the SRNC to provide the allowed integrity and encryption algorithms (UIAs and UEAs) as well as the integrity key (IK) and ciphering key (CK).
The SRNC selects an appropriate integrity algorithm and encryption algorithm and generates parameters needed for the selected algorithms. An example of such a parameter is a random value generated at the network (referred to as FRESH in the 3GPP spec). The SRNC sends a Security Mode Command to the UE which includes the core network domain, the selected integrity algorithm, and parameters like the random value. The selected integrity algorithm output/result is also sent. That output/result is denoted MAC-I, for Message Authorization Code-Integrity, and is generated as a function of the integrity key (IK), the message whose integrity is to be protected, the random number, a direction of signaling (i.e., uplink or downlink), and a count value corresponding to a message sequence number (MSN) of the current RRC message. The UE verifies this information including generating for itself the MAC-I using the same parameters, and acknowledges that the security mode is complete in messages 9, 10, and 11. Thereafter, ciphering and deciphering as well as authentication of messages for this connection are performed using the configured security parameters.
The current message sequence number (MSN) for integrity protection is referred to in the 3GPP specification as count-I. For each signaling radio bearers 0–4, there is one count-I value per uplink signaling radio bearer and one count-I per downlink signaling radio bearer. Count-I is composed of two parts. A short sequence number forming the least significant bits of the count is a four bit RRC sequence number (RRC SN) and is available in each RRC packet data unit (PDU). The long sequence number is an RRC hyper-frame number (RRC HFN) which is incremented each RRC sequence number cycle. The RRC HFN is initialized in message 1 (START values) as one of the security configuration parameter values.
Accordingly, the signaling radio bearers used to transfer signaling messages from core network service domains are integrity protected by the integrity key of the core network service domain for which the most recent security mode negotiation took place. If additional services are requested, if services are requested from another core network, from the same core network, or if an additional connection is requested, it may be necessary to change the integrity configuration of an already integrity protected, ongoing signaling connection.
An example of such security reconfiguration over the air interface is an RRC security mode control procedure described in 3GPP TS 25.331, section 8.1.12, and illustrated in FIG. 5. The purpose of this procedure is to start/restart ciphering with a new ciphering configuration for data traffic radio bearers, and to start or modify the integrity protection configuration for all control signaling radio bearers. To start or modify the integrity protection configuration, the UTRAN sends a Security Mode Command to the UE. Upon reception of the Security Mode Command, the UE sets an activation value in the uplink direction, and an activation value by the UTRAN is set in the downlink direction for all signaling radio bearers. An activation value is specified for each affected radio bearer. This activation value effectively indicates when the new security/integrity configuration with new integrity and ciphering keys should be used.
In one approach, the UE may set the uplink activation value for a corresponding radio access bearer as the current RRC message sequence number (RRC SNcurrent) plus a constant k. Recall that the RRC message sequence number is the four bit value used to stamp each RRC message with a number. The constant, for example, might be determined based on a maximum number of retransmissions of a Cell Update or a routing area Update message transmitted by the UE to the UTRAN. Any such update message is sent in the uplink direction by the UE to the UTRAN on a signaling radio bearer, e.g., RB0. This setting of the activation value until some message is transmitted in the future means that the UE will send update messages using the old security configuration, including the old ciphering and integrity keys starting from the current sequence number message (RRC SNcurrent). The old configuration is used until a future message is transmitted having the activation message sequence number (RRC SNcurrent+k). Only when the message sequence number reaches (RRC SNcurrent+k) will the new security configuration be applied. By setting the activation number to some future message sequence number, the UE can send cell updates and other messages to the UTRAN using the old security configuration even though security reconfiguration is taking place. Cell update messages are particularly important, especially for a fast-moving user equipment, to ensure that the current location of the mobile is known by the UTRAN.
Thus, the benefit of this security configuration procedure is that the cell update and other important messages can be sent with the old security configuration so that the UTRAN can receive such messages while the security reconfiguration process transpires. Unfortunately, a disadvantage with this approach is that the mechanism for indicating use of the new security configuration is flawed.
The problem is the UE needs to send a certain number of CELL UPDATE messages before the new security configuration will be used and the old security configuration will be released. In the example above that time is when the current message received at the UTRAN from the UE has a message sequence number equal to RRC SNcurrent+k. This approach assumes that the UE is moving between enough cells so that k CELL UPDATEs will occur in a relatively short period of time. For a non-moving or slow-moving UE, it is likely that such an activation number of cell update messages will not be sent in a reasonable period of time (if ever). As a result, the new security configuration, e.g., for a new UE to core network connection, will not be implemented and the requested new service or connection will not be delivered.
The present invention provides a solution to the problem identified above in an improved method for protecting the security of a communication between a mobile radio and a radio access network (RAN). A connection is established through the RAN to support a communication with the mobile radio. The connection is configured with a first security configuration. One or more messages is sent over the connection using the first security connection, each message having a message sequence number. When it is determined that there is a need to configure the connection to a second security configuration, an activation message sequence number associated with the reconfiguration is set. When the reconfiguration process is complete and the second security configuration is to be activated, the next message is sent over the connection with the activation message sequence number. Until that time and during the reconfiguration, when the mobile radio transmits a message with a message sequence number lower than the activation message sequence number to the RAN, it uses the first security configuration. An example of such a message is a cell update message or an area update message.
The first security configuration corresponds, for example, to a first connection associated with the session involving the mobile radio, and the second security configuration may correspond, for example, to a second connection associated with the session. In a multimedia session, the first connection could relate to one type of media, and the second connection to another type.
The security configuration may relate to integrity protection of a message, where the message includes control signaling related to the connection. The first security configuration may include a first integrity protection key used to authenticate the control signaling. The second security configuration includes a second integrity protection key. The security configuration may also relate to confidentiality protection of the connection. For example, the first security configuration includes a first encryption key used to encrypt data traffic associated with the connection, and the second security configuration includes a second encryption key used to encrypt the data traffic.
The activation message sequence number corresponds to a future message sequence number that is greater than the next message number in the message sequence. In one example, non-limiting embodiment, the activation message sequence number is set using the maximum number of retransmissions of a message. The activation message sequence number is sent with the next message upon completion of the reconfiguration operation, even when the activation number of messages has not yet been transmitted at the time the security reconfiguration is complete. In this way, unnecessary or indefinite delays associated with the security reconfiguration are avoided.